NetStream.onStatus

Доступность

Flash Player 7.

Замечание: Этот обработчик также поддерживается в Flash Player 6 при использовании с Flash Communication Server. Подробнее см. документацию Flash Communication Server.

Синтаксис

my_ns.onStatus = function(infoObject:Object) : Void{
  // код
}

Параметры

infoObject Параметр, определяемый в соответствии со статусом сообщения об ошибке. Подробнее см. Описание, ниже.

Возвращает

Ничего.

Описание

Обработчик события; вызывается каждый раз при изменении статуса или получения объектом NetStream сообщения об ошибке. Если Вы хотите реагировать на этот обработчик, необходимо создать функцию для работы с информационным объектом.

Информационный объект имеет свойство code, содержащее стоку, которая описывает результат обработчика onStatus, а также свойство level, содержащее строку которая равна либо status либо error.

В дополнение к описанному обработчику onStatus , Flash также поддерживает “super” функцию с именем System.onStatus. Если onStatus вызвана для конкретного объекта, а функция, отвечающая за это, не создана, Flash вызовет функцию, присвоенную System.onStatus, если она существует.

Сообщения выдаются о следующих событиях, имеющих место при функционировании NetStream.

код свойства

уровень свойства

Значение

NetStream.Buffer.Empty

status

Данные приходят не достаточно быстро, чтобы заполнить буфер. Поток данных будет прерван до тех пор пока буфер не заполнится, в этот момент будет послано сообщение NetStream.Buffer.Full и поток возобновится.

NetStream.Buffer.Full

status

Буфер заполнен и поток начинает проигрываться.

NetStream.Play.Start

status

Воспроизведение начато.

NetStream.Play.Stop

status

Воспроизведение остановлено.

NetStream.Play.StreamNotFound

error

FLV,переданный методу play() не найден.

Внимательно изучив ошибки, касающиеся буфера, можно попытаться изменить буфер используя метод NetStream.setBufferTime() .

Пример

Следующий пример выводит данные о потоке в окно Output :

var connection_nc:NetConnection = new NetConnection();
connection_nc.connect(null);
var stream_ns:NetStream = new NetStream(connection_nc);
my_video.attachVideo(stream_ns);
stream_ns.play("video1.flv");

stream_ns.onStatus = function(infoObject:Object) {
  trace("NetStream.onStatus called: ("+getTimer()+" ms)");
  for (var prop in infoObject) {
    trace("\t"+prop+":\t"+infoObject[prop]);
  }
  trace("");
};

См. также

System.onStatus, NetStream.setBufferTime()